<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>wdttb: xwdttb_low_level_example.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">wdttb
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="pages.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xwdttb__low__level__example_8c.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">xwdttb_low_level_example.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<div class="textblock"><p>This file contains a design example using the low-level driver macros of the Watchdog Timer Timebase driver. </p>
<p>These macros are found in <a class="el" href="xwdttb__l_8h.html">xwdttb_l.h</a>.</p>
<dl class="section note"><dt>Note</dt><dd></dd></dl>
<p>None.</p>
<pre>
 MODIFICATION HISTORY:</pre><pre> Ver   Who  Date     Changes
</p>
<hr/>
<p>
 1.00b rpm  04/26/02 First release
 1.00b sv   04/26/05 Minor changes to comply to Doxygen and coding guidelines
 2.00a ktn  22/10/09 Updated the example to use the HAL APIs/macros.
                      The following macros defined in <a class="el" href="xwdttb__l_8h.html">xwdttb_l.h</a> file have been
                      removed - XWdtTb_mEnableWdt, XWdtTb_mDisbleWdt,
                      XWdtTb_mRestartWdt, XWdtTb_mGetTimebaseReg and
                      XWdtTb_mHasReset.
                      The example is updated to use XWdtTb_ReadReg and
                      XWdtTb_WriteReg macros to achieve the functionality of the
                      macros that were removed.
                      Updated this example to check for Watchdog timer reset
                      condition instead of timer expiry state to avoid a race
                      condition
 4.0   sha  02/04/16 Added debug messages.
 5.7   sb   07/12/23 Added support for system device-tree flow.
</pre> </div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a088e16f309d005ae12209c5dff9fd981"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xwdttb__low__level__example_8c.html#a088e16f309d005ae12209c5dff9fd981">XWdtTb_LowLevelExample</a> (u32 WdtTbBaseAddress)</td></tr>
<tr class="memdesc:a088e16f309d005ae12209c5dff9fd981"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function assumes that the reset output of the watchdog timer timebase device is not connected to the reset of the processor.  <a href="#a088e16f309d005ae12209c5dff9fd981">More...</a><br/></td></tr>
<tr class="separator:a088e16f309d005ae12209c5dff9fd981"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a840291bc02cba5474a4cb46a9b9566fe"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xwdttb__low__level__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main</a> (void)</td></tr>
<tr class="memdesc:a840291bc02cba5474a4cb46a9b9566fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Main function to call the Wdttb low level example.  <a href="#a840291bc02cba5474a4cb46a9b9566fe">More...</a><br/></td></tr>
<tr class="separator:a840291bc02cba5474a4cb46a9b9566fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a840291bc02cba5474a4cb46a9b9566fe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int main </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Main function to call the Wdttb low level example. </p>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if unsuccessful.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="xwdttb__low__level__example_8c.html#a088e16f309d005ae12209c5dff9fd981">XWdtTb_LowLevelExample()</a>.</p>

</div>
</div>
<a class="anchor" id="a088e16f309d005ae12209c5dff9fd981"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int XWdtTb_LowLevelExample </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>WdtTbBaseAddress</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function assumes that the reset output of the watchdog timer timebase device is not connected to the reset of the processor. </p>
<p>The function allows the watchdog timer to timeout such that a reset will occur if it is connected. This also assumes the interrupt output is not connected to an interrupt input.</p>
<p>This function checks for Watchdog timer reset condition in two timer expiry state. This function may require some time (seconds or even minutes) to execute because it waits for the watchdog timer to expire.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">WdtTbBaseAddress</td><td>is the base address of the device.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if WRS bit is not set in next two subsequent timer expiry state.</li>
<li>XST_FAILURE, otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="xwdttb__hw_8h.html#afa6b4b0d4c816cd9bd6da3c9fe7caac3">XWdtTb_ReadReg</a>, <a class="el" href="xwdttb__hw_8h.html#a36d539f7262d0267924d2ef5612f0cc2">XWdtTb_WriteReg</a>, <a class="el" href="group__wdttb__api.html#ga66af9e27001823cc8bc9709fc196d839">XWT_CSR0_EWDT1_MASK</a>, <a class="el" href="group__wdttb__api.html#ga238a7c2e868d73205959bfa8cd8fcf67">XWT_CSR0_WDS_MASK</a>, <a class="el" href="group__wdttb__api.html#gab723ef9be858b9aeb33600ca2d100bd0">XWT_CSR0_WRS_MASK</a>, <a class="el" href="group__wdttb__api.html#ga8a4f0f57f0cf74799a9d17932ebbfca2">XWT_CSRX_EWDT2_MASK</a>, <a class="el" href="group__wdttb__api.html#ga7acdd92b397bdfb0e14b649d4525bb2b">XWT_TWCSR0_OFFSET</a>, and <a class="el" href="group__wdttb__api.html#ga5342d8af54e416c23b56a3dd9904e62b">XWT_TWCSR1_OFFSET</a>.</p>

<p>Referenced by <a class="el" href="xwdttb__low__level__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
